home *** CD-ROM | disk | FTP | other *** search
/ Word Play Farm / Word Play Farm.iso / pc / movies / shared.dxr / 00509_Record Handers.ls < prev    next >
Encoding:
Text File  |  1996-07-29  |  1.8 KB  |  82 lines

  1. on SavedGames pChange
  2.   global gGameData
  3.   set lSaved to 3
  4.   if voidp(pChange) <> 1 then
  5.     setAt(gGameData, lSaved, pChange)
  6.   end if
  7.   return getAt(gGameData, lSaved)
  8. end
  9.  
  10. on CheckName pSelect
  11.   set lTemp to GetName(pSelect)
  12.   if lTemp = EMPTY then
  13.     return 0
  14.   else
  15.     return 1
  16.   end if
  17. end
  18.  
  19. on GetName pUserNum
  20.   global gGameData
  21.   set lStart to CalcStart(pUserNum)
  22.   return getAt(gGameData, lStart)
  23. end
  24.  
  25. on SelectUser pUserNum, pNewName
  26.   global gGameData, gUserData, gActPlay, gRecStep, gDontSave, gSaveExit
  27.   if gSaveExit <> 1 then
  28.     set gUserData to MakeNewUser()
  29.   end if
  30.   if voidp(pUserNum) = 1 then
  31.     set gDontSave to 1
  32.   else
  33.     set gDontSave to 0
  34.     set gActPlay to pUserNum
  35.     if voidp(pNewName) <> 1 then
  36.       setAt(gUserData, 1, pNewName)
  37.       SavedGames(1)
  38.       UpdateGame()
  39.     else
  40.       set lStart to CalcStart(gActPlay)
  41.       set lEnd to CalcEnd(lStart, gRecStep)
  42.       set gUserData to CopyData(gGameData, lStart, lEnd)
  43.     end if
  44.   end if
  45. end
  46.  
  47. on MakeNewUser
  48.   set lNumSect to RetConfig(0)
  49.   set lRetData to [EMPTY]
  50.   repeat with i = 1 to lNumSect
  51.     set lSectCfg to RetConfig(i)
  52.     set lWordList to GetSectList(lSectCfg)
  53.     set lNumItems to the number of words in field lWordList
  54.     set lSectStr to MakeItemList(lNumItems, 0)
  55.     append(lRetData, lSectStr)
  56.   end repeat
  57.   return lRetData
  58. end
  59.  
  60. on CalcStart pUserNum
  61.   global gRecStart, gRecStep
  62.   set lActive to pUserNum - 1
  63.   return (lActive * gRecStep) + gRecStart
  64. end
  65.  
  66. on CalcEnd pStart, pStep
  67.   return pStart + pStep - 1
  68. end
  69.  
  70. on UpdateGame
  71.   global gInPuzzle, gDontSave, gActPlay, gSectNum, gSectData, gUserData, gGameData
  72.   if gInPuzzle = 1 then
  73.     setAt(gUserData, gSectNum, gSectData)
  74.   end if
  75.   if gDontSave = 1 then
  76.     exit
  77.   end if
  78.   set lStart to CalcStart(gActPlay)
  79.   set gGameData to InsertAT(gUserData, gGameData, lStart)
  80.   WriteConfig()
  81. end
  82.